Frequently a user of a computer may wish to attach an external modem or other communications device to the computer, so that the user can access the Internet, or an online service such as America Online or CompuServe. To attach the external modem, the user typically plugs the modem into an open serial port on the back of the computer. The user then sets up software on the computer to access the modem. This software will typically utilize a logical serial device over which all communication with the modem takes place.
The logical serial device typically corresponds to only one physical serial channel, or port. For example, in a typical PC-compatible computer, such as a Gateway 2000 personal computer, the logical serial device may be named COM1 or COM2, and correspond to a single physical serial port on the back of the computer. Each physical serial port is usually controlled by a Universal Asynchronous Receiver Transmitter, or UART, which is a chip device within the computer. Typical UARTs include the 16450 and 16550A. The 16450 and 16550A generally allow for communication over the serial port at a maximum throughput of 115,200 bits per second (bps).
Prior to the advent of high-speed communications systems such as Integrated Digital Service Network (ISDN), this maximum throughput did not act as a practical limitation of communication speed. State-of-the-art modems using the V.34 standard are generally limited to 28,800 bps. In addition, the plain old telephone systems (POTS) to which these modems connect are frequently not robust enough to allow even 28,8000 bps throughput. Therefore, use of 16450 and 16550A UARTs within PC-compatible computers became widespread as a cost-effective serial port controller which did not practically limit communication speed.
However, with the advent of ISDN, much higher speeds exceeding that of the maximum allowed by the 16450 and 16550A UARTs are possible, and increasingly commonplace. In a typical ISDN installation, a user has access to data transfer over one or two Basic Rate Interface (BRI) B channels, each allowing 64,000 bps throughput. Although a 16450 or 16550A UART will accommodate the maximum 64,000 bps throughput when only one B channel is utilized, the maximum 128,000 bps throughput achieved by using two B channels exceeds the 115,200 bps limit allowed by the UARTs. A user tying two B channels to a single serial port loses 12,800 bps of throughput--or more throughput than the maximum allowed by modems which were state of the art only one decade ago.
Previous solutions in the prior art enabling a logical serial device to exceed the 115,200 bps barrier have focused on replacing the UART with a faster chip. One solution is the Universal Serial Bus (USB), which allows for serial port communications at a speed of approximately 12,000,000 bps. However, these efforts to replace the UART and its particular architecture are slow going. Much of the software in existence depends on a specific kind of UART; replacing the UART with newer technology such as a USB entails rewriting software or replacing hardware, which are always difficult propositions.
There is a need, therefore, for allowing a logical serial device within a computer to exceed the 115,200 bps throughput limit inherent in tying a logical serial device to a single physical serial port controlled by a UART. There is also a need for providing that any increase in throughput over 115,200 bps comes at a minimal cost of incompatibility with existing software and hardware.